package tr.edu.ege.kipler.satisfiability.profile;

import tr.edu.ege.kipler.satisfiability.completion.CompletionStrategy;
import tr.edu.ege.kipler.satisfiability.container.creational.WcsFactory;
import tr.edu.ege.kipler.satisfiability.syntactical.SyntacticalProcessingStrategy;

/**
 * 
 * @author İnanç Seylan
 *
 */
public interface ReasoningProfile {
	public String getIdentifier();

	public CompletionStrategy getCompletionStrategy();

	public SyntacticalProcessingStrategy getPreprocessingStrategy();

	public boolean isLoggingEnabled();
	
	public ReasoningProfile toggleLogging();
	
	public boolean isBackjumpingEnabled();
	
	public ReasoningProfile toggleBackjumping();

	public WcsFactory getWcsFactory();
}
